home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-02-13 | 4.2 KB | 164 lines | [TEXT/MPS ] |
- //# Copyright: © 1993 - 1996 by Apple Computer, Inc., all rights reserved.
-
- #ifndef _DRAGDROP_
- #define _DRAGDROP_
-
- #ifndef _ODOBJECT_
- #include "ODObject.idl"
- #endif
-
- //=====================================================================================
- // Classes defined in this interface
- //=====================================================================================
-
- interface ODDragAndDrop;
-
- //=====================================================================================
- // Classes used by this interface
- //=====================================================================================
-
- interface ODSession;
- interface ODPart;
- interface ODStorageUnit;
- interface ODFacet;
- interface ODFrame;
- interface ODStorageSystem;
- interface ODContainer;
- interface ODWindow;
- interface ODWindowState;
- interface ODDragItemIterator;
- interface ODStorageUnitView;
- interface ODDraft;
-
-
-
- //=====================================================================================
- // ODDragAndDrop
- //=====================================================================================
-
-
- interface ODDragAndDrop : ODObject
- {
- void Clear();
-
- ODStorageUnit GetContentStorageUnit();
-
- ODDropResult StartDrag(in ODFrame srcFrame,
- in ODType imageType,
- in ODByteArray image,
- out ODPart destPart,
- in ODByteArray refCon);
-
- #ifdef _PLATFORM_MACINTOSH_
- ODBoolean ShowPasteAsDialog(
- in ODBoolean canPasteLink,
- in ODPasteAsMergeSetting mergeSetting,
- in ODFacet facet,
- in ODTypeToken viewType,
- in ODStorageUnit contentSU,
- out ODPasteAsResult theResult);
-
- ODULong GetDragAttributes();
-
- ODPlatformDragReference GetDragReference();
-
- // • Container Application support: CreateDragItemIterator
- // Method used primarily by Container Application support to process a Platform drag reference and create
- // an OpenDoc Drag item iterator. Used when a developer wants to process a drag itself without using the OpenDoc
- // Drag Handlers. For example, Container Apps may want to embed a subset of the drag items as OpenDoc parts.
- //
- // NOTE: This method was intended specifically for non-OpenDoc part support, particularly Container Application
- // support, that may need to process a drag directly. Parts should NOT use this method. They should use the
- // Drag&Drop protocol detailed in the OpenDoc Class Reference and Programmer's Guide.
- //
- // Inputs:
- // dragRef: The platform drag reference to process. This reference will consist of N drag items.
- // startDragItemRef: The number of the first Platform Drag Item to process.
- // endDragItemRef: The number of the last Platform Drag Item to process.
- // Output:
- // ODDragItemIterator: An OpenDoc Drag Item iterator that contains all of the storage units for the
- // input drag items in the Platform Drag Reference. This iterator will be similar to the
- // one passed to the ODPart Drag&Drop methods DragEnter, DragWithin, and DragLeave, and
- // identical if all of the Platform Drag Items are processed.
-
- ODDragItemIterator CreateDragItemIterator( in ODPlatformDragReference dragRef, in ODULong startDragItemRef,
- in ODULong endDragItemRef);
-
- #endif //# _PLATFORM_MACINTOSH_
-
-
-
- #ifdef __SOMIDL__
- #ifdef _PLATFORM_MACINTOSH_
- implementation
- {
- functionprefix = ODDragAndDrop;
- override:
- somUninit;
-
- releaseorder:
- Clear,
- GetContentStorageUnit,
- StartDrag,
- ShowPasteAsDialog,
- GetDragAttributes,
- GetDragReference,
- CreateDragItemIterator,
- reserved1,
- reserved2,
- reserved3,
- reserved4,
- reserved5,
- reserved6,
- reserved7,
- reserved8,
- reserved9,
- reserved10,
- reserved11,
- reserved12,
- reserved13,
- reserved14,
- reserved15,
- reserved16,
- reserved17,
- reserved18,
- reserved19,
- reserved20,
- reserved21,
- reserved22,
- reserved23,
- reserved24,
- reserved25,
- reserved26,
- reserved27,
- reserved28,
- reserved29,
- reserved30,
- reserved31,
- reserved32,
- reserved33;
-
- majorversion = 1; minorversion = 0;
-
- passthru C_h =
- ""
- "#ifndef __DRAG__"
- "#include <Drag.h>"
- "#endif"
- "";
-
- passthru C_xh =
- ""
- "#ifndef __DRAG__"
- "#include <Drag.h>"
- "#endif"
- "";
-
-
- };
- #endif //# _PLATFORM_MACINTOSH_
- #endif //# __SOMIDL__
- };
-
- #endif // _DRAGDROP_
-